package com.eshop.modules.system.service.dto;

import java.util.List;
import java.sql.Timestamp;
import java.io.Serializable;

public class PermissionDto implements Serializable
{
    private Long id;
    private String name;
    private Long pid;
    private String alias;
    private Timestamp createTime;
    private List<PermissionDto> children;
    
    @Override
    public String toString() {
        return "Permission{id=" + this.id + ", name='" + this.name + '\'' + ", pid=" + this.pid + ", alias='" + this.alias + '\'' + ", createTime=" + this.createTime + '}';
    }
    
    public Long getId() {
        return this.id;
    }
    
    public String getName() {
        return this.name;
    }
    
    public Long getPid() {
        return this.pid;
    }
    
    public String getAlias() {
        return this.alias;
    }
    
    public Timestamp getCreateTime() {
        return this.createTime;
    }
    
    public List<PermissionDto> getChildren() {
        return this.children;
    }
    
    public void setId(final Long id) {
        this.id = id;
    }
    
    public void setName(final String name) {
        this.name = name;
    }
    
    public void setPid(final Long pid) {
        this.pid = pid;
    }
    
    public void setAlias(final String alias) {
        this.alias = alias;
    }
    
    public void setCreateTime(final Timestamp createTime) {
        this.createTime = createTime;
    }
    
    public void setChildren(final List<PermissionDto> children) {
        this.children = children;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof PermissionDto)) {
            return false;
        }
        final PermissionDto other = (PermissionDto)o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$id = this.getId();
        final Object other$id = other.getId();
        Label_0065: {
            if (this$id == null) {
                if (other$id == null) {
                    break Label_0065;
                }
            }
            else if (this$id.equals(other$id)) {
                break Label_0065;
            }
            return false;
        }
        final Object this$pid = this.getPid();
        final Object other$pid = other.getPid();
        Label_0102: {
            if (this$pid == null) {
                if (other$pid == null) {
                    break Label_0102;
                }
            }
            else if (this$pid.equals(other$pid)) {
                break Label_0102;
            }
            return false;
        }
        final Object this$name = this.getName();
        final Object other$name = other.getName();
        Label_0139: {
            if (this$name == null) {
                if (other$name == null) {
                    break Label_0139;
                }
            }
            else if (this$name.equals(other$name)) {
                break Label_0139;
            }
            return false;
        }
        final Object this$alias = this.getAlias();
        final Object other$alias = other.getAlias();
        Label_0176: {
            if (this$alias == null) {
                if (other$alias == null) {
                    break Label_0176;
                }
            }
            else if (this$alias.equals(other$alias)) {
                break Label_0176;
            }
            return false;
        }
        final Object this$createTime = this.getCreateTime();
        final Object other$createTime = other.getCreateTime();
        Label_0213: {
            if (this$createTime == null) {
                if (other$createTime == null) {
                    break Label_0213;
                }
            }
            else if (this$createTime.equals(other$createTime)) {
                break Label_0213;
            }
            return false;
        }
        final Object this$children = this.getChildren();
        final Object other$children = other.getChildren();
        if (this$children == null) {
            if (other$children == null) {
                return true;
            }
        }
        else if (this$children.equals(other$children)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof PermissionDto;
    }
    
    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $id = this.getId();
        result = result * 59 + (($id == null) ? 43 : $id.hashCode());
        final Object $pid = this.getPid();
        result = result * 59 + (($pid == null) ? 43 : $pid.hashCode());
        final Object $name = this.getName();
        result = result * 59 + (($name == null) ? 43 : $name.hashCode());
        final Object $alias = this.getAlias();
        result = result * 59 + (($alias == null) ? 43 : $alias.hashCode());
        final Object $createTime = this.getCreateTime();
        result = result * 59 + (($createTime == null) ? 43 : $createTime.hashCode());
        final Object $children = this.getChildren();
        result = result * 59 + (($children == null) ? 43 : $children.hashCode());
        return result;
    }
}
